Field of the Invention
The present invention relates to telecommunications systems, and in particular, to an improved telephony-over-local area network (LAN) system.
The International Telecommunications Union (ITU) Recommendation H.323 defines a set of protocols for multimedia communication on packet networks. In particular, a protocol is described whereby endpoints can signal each other a list of their respective coding capabilities. However, the H.323 Recommendation does not specify the method by which an endpoint chooses from among those capabilities which are to be used in a particular connection.
In particular, according to conventional H.323 systems, each endpoint can only select the codec with which it will be transmitting, and only if the other endpoint has the capability of receiving using that selected coding scheme. Thus, it is possible for each endpoint to select a different codec, which can result in a sub-optimal network bandwidth usage. For example, a local endpoint on a low bandwidth LAN segment may place its lowest bandwidth codec first on its priority list. If the local endpoint starts a communication with a remote endpoint, and it is determined that the remote endpoint will support the low bandwidth codec, then the transmissions from the local endpoint will proceed using that codec. However, if the remote endpoint has a different priority list, for example, because it is on a higher bandwidth LAN segment, then the remote endpoint may attempt to transmit using its higher bandwidth codec. So long as the remote endpoint determines that the local client endpoint can support its codec choice, the higher bandwidth transmission will proceed. This results in sub-optimal network bandwidth usage as the higher bandwidth transmissions are being sent from the remote endpoint to the local endpoint which is on a low bandwidth LAN segment.
These and other drawbacks in the prior art are overcome in large part by a coding algorithm policy adjustment system according to the present invention. Endpoints according to the present invention maintain local codec priority lists, receive remote codec priority lists, and maintain common communication attribute priority lists. When opening a transmission channel, a local endpoint determines the highest priority codec on its local priority list that is also on the remote priority list. The local endpoint also determines the highest priority codec on the remote priority list that is also on the local priority list. If the codec types match, then the transmitting channel is opened with that codec. If there is no match, then the common communication attribute priority list is used, and the local or remote codec that has a corresponding highest or lowest desired attribute is used for the communication. According to one embodiment, the communication attribute is a bandwidth ranking. Other attributes, such as voice quality, may be prioritized in other embodiments.